TypeScript 97.4%
SQL 1%
JavaScript 0.9%
CSS 0.6%
1import { z } from "zod";2import { withUser, parseBody, json } from "@/lib/api";3import { getConversationWithMessages, updateConversation, deleteConversation } from "@/lib/conversations/service";45export const dynamic = "force-dynamic";67type P = { id: string };89export const GET = withUser<P>(async ({ user }, { id }) => json(await getConversationWithMessages(user.id, id)));1011const patchSchema = z.object({12 title: z.string().max(200).optional(),13 pinned: z.boolean().optional(),14 archived: z.boolean().optional(),15 folderId: z.string().max(64).nullable().optional(),16 projectId: z.string().max(64).nullable().optional(),17 systemPrompt: z.string().max(50_000).nullable().optional(),18 settings: z.record(z.string(), z.unknown()).optional(),19 modelKey: z.string().max(120).nullable().optional(),20});2122export const PATCH = withUser<P>(async ({ req, user }, { id }) => {23 const body = await parseBody(req, patchSchema);24 return json({ conversation: await updateConversation(user.id, id, body) });25});2627export const DELETE = withUser<P>(async ({ user }, { id }) => {28 await deleteConversation(user.id, id);29 return json({ ok: true });30});31